The present invention generally relates to multiple-valued memories and data access methods for the multiple-valued memories and, more particularly, to a multiple-valued memory and a data access method therefor which can improve the reliability of data read from the multiple-valued memory.
In multiple-valued memories such as multiple-valued flash memories which store multiple-valued data in a single memory cell, there are demands to improve the control of a plurality of threshold values which are used to discriminate the multiple-valued logic values read from the multiple-valued memory, and to improve the data storage characteristic of the multiple-valued memory.
In the conventional multiple-valued memory, a voltage read from the multiple-valued memory is compared with a plurality of threshold value voltages, so as to judge the multiple-valued logic value corresponding to the read voltage. For example, in the case of the multiple-valued memory capable of storing octal values, eight kinds of threshold value voltages are prepared i.e., defined in advance, and a judgement is made to determine which one of the binary values "000" through "111" corresponds to the logic value of the voltage read from the multi-valued memory depending on the threshold value voltage closest to the read voltage.
However, if the size of the logic values and the size of the threshold values have a linear relationship in the multiple-valued memory described above, the data value of the octal value may erroneously be judged as being "011" even when the data value "100" is being read. In such a case, the Hamming distance between the actual data value "100" and the erroneously read data value "011" becomes "3". In addition, if the actual data value is a maximum value but the erroneously read data values is a minimum value, the Hamming distance between the actual data value and the erroneously read value becomes "2" or greater. In the case of the octal value, for example, if the actual data value is the maximum value "111" but the erroneously read data value is the minimum value "000", the Hamming distance between the actual data value and the erroneously read value becomes "3".
In order to prevent erroneous reading of the data values, it is necessary to carry out an optimum control of the threshold value voltages. But conventionally, no effective and relatively simple method of controlling the threshold value voltages has been proposed.
Moreover, in order to prevent erroneous reading of the data values, it is also necessary to improve the data storage characteristic of the multiple-valued memory. But conventionally, no effective measures have been proposed to improve the data storage characteristic.
On the other hand, when the Hamming distance between the actual data value and the erroneously read data value is "2" or greater, there is a problem in that it is difficult to detect and correct the data error using the error correction code (ECC). Generally, the detection and correction of the data error using the ECC are possible when the Hamming distance between the actual data value and the erroneously read data value is "1", but the reliability of the data error correction is poor when the Hamming distance is "2" or greater.
Accordingly, in the conventional multiple-valued memory, there are problems in that it is difficult to improve the threshold value control method and the data storage characteristic. Further, since no special consideration is given with respect to the relationship of the threshold values and the corresponding logic values, there is a problem in that the reliability of the data error correction is poor even when the data error detection and correction using the ECC are made.